#define BITSPERWORD 32
#define SHIFT 5
#define MASH 0x1f
#define N 10000000

typedef long long int64;

int array[1 + N/BITSPERWORD];

void set(int64 i)
{
	/* i >> SHIFT == i / 2^SHIFT
	 * i & MASK == i % MASK
	 */
	arrary[ i >> SHIFT ] |=  (1 << ( i & MASK));
}

void clear(int64 i)
{
	array[i >> SHIFT] &= ~(1 << (i & MASK));
}

int getbit(int64 i)
{
	return array[i >> SHIFT] & (1 << (i % MASK));
}
int wonder_sort(char *infile)
{
	FILE *input = fopen(infile, 'r');
	if ( !input )   {
		perror("");
		return 1;
	} 

	FILE *output = fopen("out.tmp", 'w');
	if ( !output ) {
		perror("");
		return 1;
	}

	int i = 0;
	int n, t;
	for (; i < n; i++){
		array[i] = 0;
	}
	for (i=0; i < N; i++) {
		t = getInt();
		set(t);
	}

	for (i= 0; i < N; i++) {
		if ( (getbit(i) >> (i % MASK) ) )
			output();
		else
			continue;
	}
	return 0;
}
